home *** CD-ROM | disk | FTP | other *** search
Text File | 1993-09-16 | 3.0 KB | 113 lines | [TEXT/CCL2] |
-
- (in-package :traps) ;
- ; Created: Friday, October 20, 1989 at 8:56 AM
- ; Picker.p
- ; Pascal Interface to the Macintosh Libraries
- ;
- ; Copyright Apple Computer, Inc. 1987-1989
- ; All rights reserved
- ;
-
- ;;;;;;;;;;;;;;;;;;;;;;;;;;
- ;;
- ;; Modification History
- ;;
- ;; 04/28/93 mwp Release
- ;; 04/27/92 bill :signed-integer -> :unsigned-integer where appropriate
- ;;
-
- ; $IFC UNDEFINED UsingIncludes
- ; $SETC UsingIncludes := 0
- ; $ENDC
-
- ; $IFC NOT UsingIncludes
-
- ; $ENDC
-
- ; $IFC UNDEFINED UsingPicker
- ; $SETC UsingPicker := 1
-
- ; $I+
- ; $SETC PickerIncludes := UsingIncludes
- ; $SETC UsingIncludes := 1
- ; $IFC UNDEFINED UsingQuickdraw
-
- (require-interface 'QUICKDRAW) ; $I $$Shell(PInterfaces)Quickdraw.p
- ; $ENDC
- ; $SETC UsingIncludes := PickerIncludes
-
- ;
- ;
- ;
-
- (defconstant $MaxSmallFract #xffff); Maximum small fract value, as long
-
- (def-mactype :smallfract (find-mactype :unsigned-integer))
-
- (defrecord HSVColor
- (hue :unsigned-integer) ; Fraction of circle, red at 0
- (saturation :unsigned-integer) ; 0-1, 0 for gray, 1 for pure color
- (value :unsigned-integer) ; 0-1, 0 for black, 1 for max intensity
- )
-
- ; For developmental simplicity in switching between the HLS and HSVmodels, HLS
- ; is reordered into HSL. Thus both models start with hue and saturation values;
- ; value/lightness/brightness is last.
- (defrecord HSLColor
- (hue :unsigned-integer) ; Fraction of circle, red at 0
- (saturation :unsigned-integer) ; 0-1, 0 for gray, 1 for pure color
- (lightness :unsigned-integer) ; 0-1, 0 for black, 1 for white
- )
-
- (defrecord CMYColor
- (cyan :unsigned-integer)
- (magenta :unsigned-integer)
- (yellow :unsigned-integer)
- )
-
-
- (deftrap _fix2smallfract ((f :signed-long))
- (:stack :unsigned-integer)
- (:stack-trap #xA82E f (1 :signed-integer)))
-
- (deftrap _smallfract2fix ((s :unsigned-integer))
- (:stack :signed-long)
- (:stack-trap #xA82E s (2 :signed-integer)))
-
- (deftrap _cmy2rgb ((ccolor :cmycolor) (rcolor (:pointer :rgbcolor)))
- nil
- (:stack-trap #xA82E ccolor rcolor (3 :signed-integer)))
-
- (deftrap _rgb2cmy ((rcolor :rgbcolor) (ccolor (:pointer :cmycolor)))
- nil
- (:stack-trap #xA82E rcolor ccolor (4 :signed-integer)))
-
- (deftrap _hsl2rgb ((hcolor :hslcolor) (rcolor (:pointer :rgbcolor)))
- nil
- (:stack-trap #xA82E hcolor rcolor (5 :signed-integer)))
-
- (deftrap _rgb2hsl ((rcolor :rgbcolor) (hcolor (:pointer :hslcolor)))
- nil
- (:stack-trap #xA82E rcolor hcolor (6 :signed-integer)))
-
- (deftrap _hsv2rgb ((hcolor :hsvcolor) (rcolor (:pointer :rgbcolor)))
- nil
- (:stack-trap #xA82E hcolor rcolor (7 :signed-integer)))
-
- (deftrap _rgb2hsv ((rcolor :rgbcolor) (hcolor (:pointer :hsvcolor)))
- nil
- (:stack-trap #xA82E rcolor hcolor (8 :signed-integer)))
-
- (deftrap _getcolor ((where :point) (prompt (:string 255)) (incolor :rgbcolor) (outcolor (:pointer :rgbcolor)))
- (:stack :boolean)
- (:stack-trap #xA82E where prompt incolor outcolor (9 :signed-integer)))
-
- ; $ENDC ; UsingPicker
-
- ; $IFC NOT UsingIncludes
-
- ; $ENDC
-
-
- (export '($maxsmallfract))
- (provide-interface 'Picker)